import sensor,image,lcd,time

#常用初始化
lcd.init()
sensor.reset()                      #复位摄像头
sensor.set_pixformat(sensor.RGB565) #设置像素格式 RGB565
sensor.set_framesize(sensor.QVGA)   #设置帧尺寸 QVGA (320x240)
sensor.skip_frames(time = 2000)     #跳过不稳定画面

#红色阈值
red_threshold = (87, 21, 27, 93, -5, 92)
#蓝色阈值
blue_threshold = (14, 87, -83, 127, -113, -14)

#寻找最大色块函数定义
def find_max(blobs):
    max_size=0
    for blob in blobs:
        if blob[2]*blob[3] > max_size:
            max_blob=blob
            max_size = blob[2]*blob[3]
    return max_blob

while True:
    img=sensor.snapshot()
    blobs = img.find_blobs([blue_threshold],merge=True)#把拍摄的一张图片里满足的色块纳入集合中

    if blobs:
            max_blob = find_max(blobs)#调用函数，返回最大色块

    img.draw_rectangle((max_blob.x(),max_blob.y(),max_blob.w(),max_blob.h()),color=(255,0,0))#用红色框出最大色块
    img.draw_string(max_blob.x(),max_blob.y(), "(x,y) =")
    img.draw_string(max_blob.x()+40,max_blob.y(), str(max_blob.cx()))
    img.draw_string(max_blob.x()+60,max_blob.y(), str(max_blob.cy()))#在框图左上角显示色块的中心坐标
    lcd.display(img)


